-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Make AVIM restartless #132
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Began migrating from declarative XUL overlays to data-driven but nonetheless procedural JavaScript. 😢 Registered resource: aliases to manually import transformer.js as a JavaScript code module instead of an XPCOM component and the preferences file as a subscript, all while hopefully maintaining Firefox 2 compatibility. The upside is that AVIM will be restartless, and the redundant menu definitions can be combined. Fixes #9.
Also removed a BOM in the Vietnamese .properties file that broke UI building.
No longer needed now that Travis runs automated tests on the entire FVDP corpus.
Sent from my iPhone
Completely clean up event listeners upon uninstallation. Correctly unload/reload overlay stylesheet. Tear down existing `window.avim` and rebuild it instead of bailing, making in-place upgrades possible.
May the record note that, though procedural extension programming is what all the cool kids do these days, I will deeply miss the declarative paradigm of XUL overlays and XBL bindings. 😢 |
When the option `toolbar=no` is passed to `window.open()`, the toolbar is hidden except for the most essential items (currently only the Location Bar), so AVIM’s toolbar button should be hidden too.
Add the toolbar button to the `<toolbarpalette>` and work with CustomizableUI.jsm (which is bound to `<toolbar>`) to ensure that it only appears when called for in toolbar preferences.
Ensure that the toolbar button disappears on disable and appears on reenable when it’s in the application menu. Also have the toggle popup point to the toolbar button when it’s on the toolbar.
Mudim monitor is now loaded entirely via JavaScript.
Known issues (to be filed separately once this PR gets merged):
|
Building the UI on DOMContentLoaded works again in Australis because we’re using the CustomizeUI API, which is a bit more robust than the raw <toolbar> bindings.
Send return values through lambdas.
Per #141, AVIM will have to be rewritten another way for Firefox. Some of the work here may be useful going forward, but not the overall set of changes. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR makes AVIM a restartless extension, migrating it off the trusty old overlays and onto the brave new world of JavaScript-all-the-way-down. It fixes #9, cuts down the extension’s file size, and paves the way to support additional platforms like Android (#131).